
import { Injectable } from '@angular/core';
import { ViewModel, NgCommand } from '@farris/devkit';
import { Observable } from 'rxjs';

import { LeftTreeGridComponentViewmodel } from './lefttreegridcomponentviewmodel';

import { RightDataGridComponentViewmodel } from './rightdatagridcomponentviewmodel';

@Injectable()
export class RootViewmodel extends ViewModel {
    public bindingPath = '/';
    public dom = {};
    public childViewModels = {
        'LeftTreeGridComponentViewmodel' : 'leftTreeGridComponentViewmodel',
        'RightDataGridComponentViewmodel' : 'rightDataGridComponentViewmodel'
    }
    public leftTreeGridComponentViewmodel: LeftTreeGridComponentViewmodel;
    public rightDataGridComponentViewmodel: RightDataGridComponentViewmodel;
    @NgCommand({
        name: 'RouteToAdd1',
        params: {
            url: '5eeb2c52-b53b-4373-b417-c4fd0342cd32',
            params: '{"action":"LoadAndAdd1"}'
        },
        paramDescriptions: {
            url: { type: 'string' },
            params: { type: 'string' }
        }
    })
    public RouteToAdd1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'RouteToEdit1',
        params: {
            url: '5eeb2c52-b53b-4373-b417-c4fd0342cd32',
            params: '{"action":"LoadAndEdit1", "id":"{DATA~/#{left-tree-grid-component}/id}"}',
            idToEdit: ''
        },
        paramDescriptions: {
            url: { type: 'string' },
            params: { type: 'string' },
            idToEdit: { type: 'string' }
        }
    })
    public RouteToEdit1(commandParam?: any): Observable<any> { return; }

    @NgCommand({
        name: 'RouteToView1',
        params: {
            url: '5eeb2c52-b53b-4373-b417-c4fd0342cd32',
            params: '{"action":"LoadAndView1", "id":"{DATA~/#{left-tree-grid-component}/id}"}',
            idToView: ''
        },
        paramDescriptions: {
            url: { type: 'string' },
            params: { type: 'string' },
            idToView: { type: 'string' }
        }
    })
    public RouteToView1(commandParam?: any): Observable<any> { return; }

}